﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SlgBattleProperty : MonoBehaviourSingleton<SlgBattleProperty>
{
    [SerializeField, Header("开始阅兵 镜头看着英雄的X轴偏移")]
    public float c_fStartBetweenHero = 2f;
    [SerializeField, Header("最后步兵跑过英雄多少距离后回头")]
    public float c_fChargeStopGapHero = -5;
    [SerializeField, Header("回头后多少秒弹出结束UI")]
    public float c_fRetreatDelay = 2;
    [SerializeField, Header("第一波剑雨延迟X秒后产生")]
    public float c_fDelayArrow = 1f;
    [SerializeField, Header("第一波剑雨开始下X秒后产生伤害")]
    public float c_fFirstArrowShootDelayDmg = 0.5f;
    [SerializeField, Header("远程齐射几波")]
    public int c_iArrowShootNum = 2;
    [SerializeField, Header("每波齐射间隔")]
    public float c_fArrowShootGap = 0.8f;
    [SerializeField, Header("一波齐射下落多少个子弹")]
    public int c_iArrowShootDownNum = 30;
    [SerializeField, Header("左边的第一个部队位置")]
    public Vector3 vec3_LeftCenter = new Vector3(-20, 0, -1.5f);
    [SerializeField, Header("右边的第一个部队位置")]
    public Vector3 vec3_RightCenter = new Vector3(20, 0, -1.5f);
    [SerializeField, Header("部队的宽度")]
    public float m_fTroopWidth = 5.5f;
    [SerializeField, Header("英雄距离最后一个部队多元")]
    public float m_fTroopGrpHero = 4.5f;
    [SerializeField, Header("多个英雄的时候英雄竖向相隔多远")]
    public float m_fHeroHeight = 1;
    [SerializeField, Header("摄像机的Y和Z的位置")]
    public Vector3 CameraPos = new Vector3(0, 2f, -6f);
    [SerializeField,Header("摄像机的角度")]
    public Vector3 CameraAngle = new Vector3(20.0f, 0, 0);
    [SerializeField, Header("冲刺时候抬升的摄像机 距离")]
    public float CameraUpDis = 1f;
    [SerializeField, Header("冲刺时候抬升的摄像机 需要时间")]
    public float c_fUpCameraDuration = 2;
    [SerializeField, Header("冲刺撞到射手前X米")]
    public float c_fChargeBtweenShooter = 6f;
    [SerializeField, Header("冲刺撞到射手前X米 摄像机下降距离")]
    public float CameraDownDis = 1f;
    [SerializeField, Header("冲刺撞到射手前X米 摄像机下降时间")]
    public float c_fDownCameraDuration = 2;
    [SerializeField, Header("中间冲撞过后延迟X秒分屏")]
    public float c_fDelayCloseMainCamera = 1;
    [SerializeField, Header("阅兵时候： 部队间移动的速度")]
    public float c_fCameraMoveSpeed01 = 3f;
    [SerializeField, Header("阅兵时候：从左边部队移动到右边部队的速度")]
    public float c_fCameraMoveSpeed02 = 120;
    [SerializeField, Header("阅兵时候：结束时候从最右侧移动到中间的速度")]
    public float c_fCameraMoveSpeed03 = 160;
    [SerializeField, Header("阅兵时候：移动到左边部队最右部队时候停留时间")]
    public float c_fCameraWaitLeft = 1.5f;
    [SerializeField, Header("射手射完之后 镜头移动到骑兵的速度")]
    public float c_fCameraShoot2BattleMan = 5;
    [SerializeField, Header("射手射完之后 镜头移动到骑兵前X秒骑兵开始移动")]
    public float c_fBattleManAhearMoveTime = 1;
    [SerializeField, Header("阅兵时候： 从左边到右边休息一会右边部队第一个开始抬手")]
    public float c_fLeft2RightRest = 1;
    [SerializeField, Header("移动到中间后X秒显示StartUI动画")]
    public float c_fUIDuration = 1;
    [SerializeField, Header("下剑雨 的间隔")]
    public float m_fArrowRainGap = 1;
    [SerializeField, Header("英雄的缩放")]
    public float m_fHeroSize = 0.5f;
    [SerializeField, Header("冲锋时候随机的最小加速度")]
    public float m_fChargeAccMin = 3.0f;
    [SerializeField, Header("冲锋时候随机的最大加速度")]
    public float m_fChargeAccMax = 4f;
    [SerializeField, Header("冲锋的最大速度")]
    public float m_fChangeSpeedMax = 6.0f;
    [SerializeField, Header("接触时候的最大速度")]
    public float m_fCrashSpeedMax = 8f;
    [SerializeField, Header("死亡 时候的最小间隔")]
    public float m_fDeadGapMin = 0;
    [SerializeField, Header("死亡 时候的最大间隔")]
    public float m_fDeadGapMax = 0.6f;
    [SerializeField,Header("死亡 飞的时间")]
    public float m_fDead_Time = 3f;
    //[SerializeField,Header("死亡 飞的最小高度")]
    //public float m_fDead_MinH = 1;
    //[SerializeField, Header("死亡 飞的最大高度")]
    //public float m_fDead_MaxH = 3f;
    //[SerializeField, Header("死亡 时候X轴上的最小位移")]
    //public float m_fDead_MinX = 2f;
    //[SerializeField, Header("死亡 时候X轴上的最大位移")]
    //public float m_fDead_MaxX = 3f;
    //[SerializeField, Header("死亡 时候Z轴上的最小位移")]
    //public float m_fDead_MinZ = 2f;
    //[SerializeField, Header("死亡 时候Z轴上的最大位移")]
    //public float m_fDead_MaxZ = 3f;
    [SerializeField, Header("死亡 时候调用的曲线")]
    public string m_sDead_Path = "456";
    [SerializeField, Header("死亡 时候飞到摄像机上的个数")]
    public int m_iDeadToCameraNum = 3;
    [SerializeField,Header("检测伤害的 偏移")]
    public int m_fDmgOffSet = 6;
    [SerializeField, Header("死亡时候 飞多高后隐藏 Max")]
    public float m_fMaxFlyHeight = 3f;
    [SerializeField, Header("死亡时候 飞多高后隐藏 Min")]
    public float m_fMinFlyHeight = 1.8f;

    public Vector3 zhou = new Vector3(1, 0, 0);
    [SerializeField, Header("旋转速度")]
    public float rSpeed = -30f;
    [SerializeField, Header("黑幕刷过总时长")]
    public float m_fFreshScreenDuration = 1;
    [SerializeField, Header("黑幕刷过多少时间 把镜头从左边 挪到 右边")]
    public float m_fFreshScreenDelayMoveCamera= 0.6f;

    [SerializeField, Header("震动持续时间")]
    public float m_fShakeCamera_Duration = 0.5f;
    [SerializeField, Header("震动幅度")]
    public Vector3 m_fShakeCamera_Range = new Vector3(0.1f, 0.1f, 0.1f);
    [SerializeField, Header("插件自带 vibrato 默认是10")]
    public int m_fShakeCamera_Vib = 90;
    [SerializeField, Header("插件自带 randomness 默认是90")]
    public float m_fShakeCamera_Randomness = 200;
    [SerializeField, Header("震动时候的时间缩放")]
    public float m_fShakeTimeScale = 1;
    [SerializeField, Header("震动时候的时间缩过X秒后恢复 1")]
    public float m_fShakeTimeScaleRecover = 0;
    [SerializeField,Header(" 左右摄像机 距离相聚1个屏幕 + X m 的时候切中间屏幕")]
    public float m_fCamerFuse = 2;
    [SerializeField, Header(" 左右摄像机 融合时候的刷屏速度")]
    public float m_fCameraFuseFreshDurtion = 0.5f;
}
